var express = require("express");
var app = express();
var formidable = require('formidable');
var db = require("./model/db.js");
var md5 = require("./model/md5.js");

app.set("view engine","ejs");
app.use(express.static("./public"));

app.get("/regist",function(req,res,next){
    res.render("regist");
});

app.get("/login",function(req,res,next){
    res.render("login");
});

app.get("/doregist",function(req,res,next){
    var user = req.query.username;
    var pass = req.query.password;
    pass = md5(md5(pass).substr(4,7) + md5(pass));      // 注册的密码进行加密
    db.insertOne("User",{           // 写入数据库
        "username" : user,
        "password" : pass
    },function(err,result){
        if(err){
            res.end("-1");
            return;
        }
        res.send("1")
    })
});

app.post("/dologin",function(req,res,next){
    var form = new formidable.IncomingForm();
    form.parse(req, function(err,fields,files){
        var Name = fields.Name;
        var Pass = fields.Pass;
        Pass = md5(md5(Pass).substr(4,7) + md5(Pass));      // 加密       
        // 检索数据库，按登录名检索数据库，查看密码是否匹配
        db.find("User",{"username" : Name},function(err,result){
            if(result.length == 0){
                res.send("-2");         // -2没有注册
                return;
            }
            var Password = result[0].password;      // 数据库中的密码
            if(Pass == Password){       // 用户登录输入的密码进行加密操作，再与数据库中的密码进行比对
                res.send("1")
            }else{
                res.send("-1");
            }
        });
    });
    return;
});

app.listen(3000)